winsafe\ole\co/
consts.rs

1#![allow(non_camel_case_types)]
2
3const_bitflag! { ADVF: u32;
4	/// [`ADVF`](https://learn.microsoft.com/en-us/windows/win32/api/objidl/ne-objidl-advf)
5	/// enumeration (`u32`).
6	=>
7	NODATA 1
8	PRIMEFIRST 2
9	ONLYONCE 4
10	DATAONSTOP 64
11}
12
13const_ordinary! { CLSCTX: u32;
14	/// [`CLSCTX`](https://learn.microsoft.com/en-us/windows/win32/api/wtypesbase/ne-wtypesbase-clsctx)
15	/// enumeration (`u32`).
16	=>
17	/// Same process.
18	///
19	/// The code that creates and manages objects of this class is a DLL that
20	/// runs in the same process as the caller of the function specifying the
21	/// class context.
22	INPROC_SERVER 0x1
23	/// The code that manages objects of this class is an in-process handler.
24	/// This is a DLL that runs in the client process and implements client-side
25	/// structures of this class when instances of the class are accessed
26	/// remotely.
27	INPROC_HANDLER 0x2
28	/// Different process, same computer.
29	///
30	/// The EXE code that creates and manages objects of this class runs on same
31	/// machine but is loaded in a separate process space.
32	LOCAL_SERVER 0x4
33	/// Different computer.
34	///
35	/// A remote context. The `LocalServer32` or `LocalService` code that creates
36	/// and manages objects of this class is run on a different computer.
37	REMOTE_SERVER 0x10
38	/// Disables the downloading of code from the directory service or the
39	/// Internet. This flag cannot be set at the same time as
40	/// `CLSCTX::ENABLE_CODE_DOWNLOAD`.
41	NO_CODE_DOWNLOAD 0x400
42	/// Specify if you want the activation to fail if it uses custom marshalling.
43	NO_CUSTOM_MARSHAL 0x1000
44	/// Enables the downloading of code from the directory service or the
45	/// Internet. This flag cannot be set at the same time as
46	/// `CLSCTX::NO_CODE_DOWNLOAD`.
47	ENABLE_CODE_DOWNLOAD 0x2000
48	/// The `CLSCTX::NO_FAILURE_LOG` can be used to override the logging of
49	/// failures in `CoCreateInstanceEx`.
50	NO_FAILURE_LOG 0x4000
51	/// Disables activate-as-activator (AAA) activations for this activation only.
52	DISABLE_AAA 0x8000
53	/// Enables activate-as-activator (AAA) activations for this activation only.
54	ENABLE_AAA 0x1_0000
55	/// Begin this activation from the default context of the current apartment.
56	FROM_DEFAULT_CONTEXT 0x2_0000
57	/// Activate or connect to a 32-bit version of the server; fail if one is not
58	/// registered.
59	ACTIVATE_X86_SERVER 0x4_0000
60	/// Activate or connect to a 32-bit version of the server; fail if one is not
61	/// registered.
62	ACTIVATE_32_BIT_SERVER Self::ACTIVATE_X86_SERVER.0
63	/// Activate or connect to a 64 bit version of the server; fail if one is not
64	/// registered.
65	ACTIVATE_64_BIT_SERVER 0x8_0000
66	/// Specify this flag for Interactive User activation behavior for
67	/// As-Activator servers.
68	ACTIVATE_AAA_AS_IU 0x80_0000
69	/// (No official docs for this entry.)
70	ACTIVATE_ARM32_SERVER 0x200_0000
71
72	ALL Self::INPROC_SERVER.0 | Self::INPROC_HANDLER.0 | Self::LOCAL_SERVER.0 | Self::REMOTE_SERVER.0
73	SERVER Self::INPROC_SERVER.0 | Self::INPROC_HANDLER.0 | Self::LOCAL_SERVER.0
74}
75
76const_bitflag! { COINIT: u32;
77	/// [`COINIT`](https://learn.microsoft.com/en-us/windows/win32/api/objbase/ne-objbase-coinit)
78	/// enumeration (`u32`).
79	=>
80	/// Initializes the thread for apartment-threaded object concurrency.
81	///
82	/// Use this when in a thread that creates a window.
83	APARTMENTTHREADED 0x2
84	/// Initializes the thread for multithreaded object concurrency.
85	///
86	/// Use this when in a thread that doesn't create a window.
87	MULTITHREADED 0x0
88	/// Disables DDE for OLE1 support.
89	///
90	/// It's a good idea to add this flag, since it avoids some overhead
91	/// associated with OLE 1.0, an obsolete technology.
92	DISABLE_OLE1DDE 0x4
93	/// Increase memory usage in an attempt to increase performance.
94	SPEED_OVER_MEMORY 0x8
95}
96
97const_bitflag! { DROPEFFECT: u32;
98	/// [`DROPEFFECT`](https://learn.microsoft.com/en-us/windows/win32/com/dropeffect-constants)
99	/// constants (`u32`).
100	=>
101	NONE 0
102	COPY 1
103	MOVE 2
104	LINK 4
105	SCROLL 0x8000_0000
106}
107
108const_ordinary! { DVASPECT: u32;
109	/// [`DVASPECT`](https://learn.microsoft.com/en-us/windows/win32/api/wtypes/ne-wtypes-dvaspect)
110	/// enumeration (`u32`).
111	=>
112	CONTENT 1
113	THUMBNAIL 2
114	ICON 4
115	DOCPRINT 8
116}
117
118const_ordinary! { FACILITY: u32;
119	/// [`HRESULT`](crate::co::HRESULT) facility (`u32`).
120	=>
121	NULL 0
122	RPC 1
123	DISPATCH 2
124	STORAGE 3
125	ITF 4
126	WIN32 7
127	WINDOWS 8
128	SSPI 9
129	SECURITY 9
130	CONTROL 10
131	CERT 11
132	INTERNET 12
133	MEDIASERVER 13
134	MSMQ 14
135	SETUPAPI 15
136	SCARD 16
137	COMPLUS 17
138	AAF 18
139	URT 19
140	ACS 20
141	DPLAY 21
142	UMI 22
143	SXS 23
144	WINDOWS_CE 24
145	HTTP 25
146	USERMODE_COMMONLOG 26
147	WER 27
148	USERMODE_FILTER_MANAGER 31
149	BACKGROUNDCOPY 32
150	CONFIGURATION 33
151	WIA 33
152	STATE_MANAGEMENT 34
153	METADIRECTORY 35
154	WINDOWSUPDATE 36
155	DIRECTORYSERVICE 37
156	GRAPHICS 38
157	SHELL 39
158	NAP 39
159	TPM_SERVICES 40
160	TPM_SOFTWARE 41
161	UI 42
162	XAML 43
163	ACTION_QUEUE 44
164	PLA 48
165	WINDOWS_SETUP 48
166	FVE 49
167	FWP 50
168	WINRM 51
169	NDIS 52
170	USERMODE_HYPERVISOR 53
171	CMI 54
172	USERMODE_VIRTUALIZATION 55
173	USERMODE_VOLMGR 56
174	BCD 57
175	USERMODE_VHD 58
176	USERMODE_HNS 59
177	SDIAG 60
178	WEBSERVICES 61
179	WINPE 61
180	WPN 62
181	WINDOWS_STORE 63
182	INPUT 64
183	EAP 66
184	WINDOWS_DEFENDER 80
185	OPC 81
186	XPS 82
187	MBN 84
188	POWERSHELL 84
189	RAS 83
190	P2P_INT 98
191	P2P 99
192	DAF 100
193	BLUETOOTH_ATT 101
194	AUDIO 102
195	STATEREPOSITORY 103
196	VISUALCPP 109
197	SCRIPT 112
198	PARSE 113
199	BLB 120
200	BLB_CLI 121
201	WSBAPP 122
202	BLBUI 128
203	USN 129
204	USERMODE_VOLSNAP 130
205	TIERING 131
206	WSB_ONLINE 133
207	ONLINE_ID 134
208	DEVICE_UPDATE_AGENT 135
209	DRVSERVICING 136
210	DLS 153
211	DELIVERY_OPTIMIZATION 208
212	USERMODE_SPACES 231
213	USER_MODE_SECURITY_CORE 232
214	USERMODE_LICENSING 234
215	SOS 160
216	DEBUGGERS 176
217	SPP 256
218	RESTORE 256
219	DMSERVER 256
220	DEPLOYMENT_SERVICES_SERVER 257
221	DEPLOYMENT_SERVICES_IMAGING 258
222	DEPLOYMENT_SERVICES_MANAGEMENT 259
223	DEPLOYMENT_SERVICES_UTIL 260
224	DEPLOYMENT_SERVICES_BINLSVC 261
225	DEPLOYMENT_SERVICES_PXE 263
226	DEPLOYMENT_SERVICES_TFTP 264
227	DEPLOYMENT_SERVICES_TRANSPORT_MANAGEMENT 272
228	DEPLOYMENT_SERVICES_DRIVER_PROVISIONING 278
229	DEPLOYMENT_SERVICES_MULTICAST_SERVER 289
230	DEPLOYMENT_SERVICES_MULTICAST_CLIENT 290
231	DEPLOYMENT_SERVICES_CONTENT_PROVIDER 293
232	LINGUISTIC_SERVICES 305
233	AUDIOSTREAMING 1094
234	ACCELERATOR 1536
235	WMAAECMA 1996
236	DIRECTMUSIC 2168
237	DIRECT3D10 2169
238	DXGI 2170
239	DXGI_DDI 2171
240	DIRECT3D11 2172
241	DIRECT3D11_DEBUG 2173
242	DIRECT3D12 2174
243	DIRECT3D12_DEBUG 2175
244	LEAP 2184
245	AUDCLNT 2185
246	WINCODEC_DWRITE_DWM 2200
247	WINML 2192
248	DIRECT2D 2201
249	DEFRAG 2304
250	USERMODE_SDBUS 2305
251	JSCRIPT 2306
252	PIDGENX 2561
253	EAS 85
254	WEB 885
255	WEB_SOCKET 886
256	MOBILE 1793
257	SQLITE 1967
258	UTC 1989
259	WEP 2049
260	SYNCENGINE 2050
261	XBOX 2339
262	GAME 2340
263	PIX 2748
264}
265
266const_bitflag! { LOCKTYPE: u32;
267	/// [`LOCKTYPE`](https://learn.microsoft.com/en-us/windows/win32/api/objidl/ne-objidl-locktype)
268	/// enumeration (`u32`).
269	=>
270	WRITE 1
271	EXCLUSIVE 2
272	ONLYONCE 4
273}
274
275const_ordinary! { MKRREDUCE: u32;
276	/// [How far](https://learn.microsoft.com/en-us/windows/win32/api/objidl/ne-objidl-mkrreduce)
277	/// a moniker should be reduced (`u32`).
278	=>
279	ONE (3 << 16)
280	TOUSER (2 << 16)
281	THROUGHUSER (1 << 16)
282	ALL 0
283}
284
285const_ordinary! { MKSYS: u32;
286	/// Moniker
287	/// [classes](https://learn.microsoft.com/en-us/windows/win32/api/objidl/ne-objidl-mksys)
288	/// (`u32`).
289	=>
290	NONE 0
291	GENERICCOMPOSITE 1
292	FILEMONIKER 2
293	ANTIMONIKER 3
294	ITEMMONIKER 4
295	POINTERMONIKER 5
296	CLASSMONIKER 7
297	OBJREFMONIKER 8
298	SESSIONMONIKER 9
299	LUAMONIKER 10
300}
301
302const_bitflag! { PICTURE: u32;
303	/// [`PICTUREATTRIBUTES`](https://learn.microsoft.com/en-us/windows/win32/api/ocidl/ne-ocidl-pictureattributes)
304	/// enumeration (`u32`).
305	=>
306	SCALABLE 0x1
307	TRANSPARENT 0x2
308}
309
310const_ordinary! { PICTYPE: i16;
311	/// [`PICTYPE`](https://learn.microsoft.com/en-us/windows/win32/com/pictype-constants)
312	/// constants (`i16`).
313	=>
314	UNINITIALIZED -1
315	NONE 0
316	BITMAP 1
317	METAFILE 2
318	ICON 3
319	ENHMETAFILE 4
320}
321
322const_ordinary! { RPC_C_AUTHN: u32;
323	/// Authentication service
324	/// [constants](https://learn.microsoft.com/en-us/windows/win32/com/com-authentication-service-constants)
325	/// (`u32`).
326	=>
327	NONE 0
328	DCE_PRIVATE 1
329	DCE_PUBLIC 2
330	DEC_PUBLIC 4
331	GSS_NEGOTIATE 9
332	WINNT 10
333	GSS_SCHANNEL 14
334	GSS_KERBEROS 16
335	DPA 17
336	MSN 18
337	DIGEST 21
338	KERNEL 20
339	NEGO_EXTENDER 30
340	PKU2U 31
341	LIVE_SSP 32
342	LIVEXP_SSP 35
343	CLOUD_AP 36
344	MSONLINE 82
345	MQ 100
346	DEFAULT 0xffff_ffff
347}
348
349const_ordinary! { RPC_C_AUTHZ: u32;
350	/// Authorization
351	/// [constants](https://learn.microsoft.com/en-us/windows/win32/com/com-authorization-constants)
352	/// (`u32`).
353	=>
354	NONE 0
355	NAME 1
356	DCE 2
357	DEFAULT 0xffff_ffff
358}
359
360const_ordinary! { RPC_C_IMP_LEVEL: u32;
361	/// Impersonation level
362	/// [constants](https://learn.microsoft.com/en-us/windows/win32/com/com-impersonation-level-constants)
363	/// (`u32`).
364	=>
365	DEFAULT 0
366	ANONYMOUS 1
367	IDENTIFY 2
368	IMPERSONATE 3
369	DELEGATE 4
370}
371
372const_ordinary! { RPC_C_QOS_CAPABILITIES: u32;
373	/// [Quality of service](https://learn.microsoft.com/en-us/windows/win32/rpc/quality-of-service)
374	/// capabilities (`u32`).
375	=>
376	DEFAULT 0x0
377	MUTUAL_AUTH 0x1
378	MAKE_FULLSIC 0x2
379	ANY_AUTHORITY 0x4
380	IGNORE_DELEGATE_FAILURE 0x8
381	LOCAL_MA_HINT 0x10
382	SCHANNEL_FULL_AUTH_IDENTITY 0x20
383}
384
385const_ordinary! { SEC_WINNT_AUTH_IDENTITY: u32;
386	/// [`COAUTHIDENTITY`](crate::COAUTHIDENTITY) `Flags` (`u32`).
387	=>
388	ANSI 0x1
389	UNICODE 0x2
390}
391
392const_ordinary! { SEVERITY: u8;
393	/// [`HRESULT`](crate::co::HRESULT) severity (`u8`).
394	=>
395	SUCCESS 0
396	FAILURE 1
397}
398
399const_bitflag! { STGC: u32;
400	/// [`STGC`](https://learn.microsoft.com/en-us/windows/win32/api/wtypes/ne-wtypes-stgc)
401	/// enumeration (`u32`).
402	=>
403	DEFAULT 0
404	OVERWRITE 1
405	ONLYIFCURRENT 2
406	DANGEROUSLYCOMMITMERELYTODISKCACHE 4
407	CONSOLIDATE 8
408}
409
410const_bitflag! { STGM: u32;
411	/// [`STGM`](https://learn.microsoft.com/en-us/windows/win32/stg/stgm-constants)
412	/// enumeration (`u32`).
413	=>
414	READ 0x0000_0000
415	WRITE 0x0000_0001
416	READWRITE 0x0000_0002
417	SHARE_DENY_NONE 0x0000_0040
418	SHARE_DENY_READ 0x0000_0030
419	SHARE_DENY_WRITE 0x0000_0020
420	SHARE_EXCLUSIVE 0x0000_0010
421	PRIORITY 0x0004_0000
422	CREATE 0x0000_1000
423	CONVERT 0x0002_0000
424	FAILIFTHERE 0x0000_0000
425	DIRECT 0x0000_0000
426	TRANSACTED 0x0001_0000
427	NOSCRATCH 0x0010_0000
428	NOSNAPSHOT 0x0020_0000
429	SIMPLE 0x0800_0000
430	DIRECT_SWMR 0x0040_0000
431	DELETEONRELEASE 0x0400_0000
432}
433
434const_ordinary! { STGMOVE: u32;
435	/// [`STGMOVE`](https://learn.microsoft.com/en-us/windows/win32/api/wtypes/ne-wtypes-stgmove)
436	/// enumeration (`u32`).
437	=>
438	MOVE 0
439	COPY 1
440	SHALLOWCOPY 2
441}
442
443const_ordinary! { STREAM_SEEK: u32;
444	/// [`STREAM_SEEK`](https://learn.microsoft.com/en-us/windows/win32/api/objidl/ne-objidl-stream_seek)
445	/// enumeration (`u32`).
446	=>
447	SET 0
448	CUR 1
449	END 2
450}
451
452const_ordinary! { TYMED: u32;
453	/// [`TYMED`](https://learn.microsoft.com/en-us/windows/win32/api/objidl/ne-objidl-tymed)
454	/// enumeration (`u32`).
455	=>
456	HGLOBAL 1
457	FILE 2
458	ISTREAM 4
459	ISTORAGE 8
460	GDI 16
461	MFPICT 32
462	ENHMF 64
463	NULL 0
464}